package com.example.demo;

import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;


import java.io.File;
import java.io.IOException;


//@RequestParam是用来参数类型绑定的，当前端传过来的数据类型和后端接口参数不一致的时候，需要用该注解绑定为接口的参数类型

@RequestMapping("/zc")
@RestController
public class ParamControl {
    @RequestMapping("/par")
    public String p1(String name,int age){
        return "名字："+name+"年龄："+ age;
    }

    @RequestMapping("/par1")
    public String p2(String name,int age,Boolean gender){
        return "名字："+name+" 年龄："+age+" 性别(F男/T女)："+gender;
    }

    @RequestMapping("/par3")
    public String p(UserParam info){
        return "信息："+info;
    }

    @RequestMapping("/{id}/{name}")//参数路径名和接口参数名一样，则注解绑定的时候可以省略变量
    public String method(@PathVariable Integer id,@PathVariable String name){
        return "解析id:"+id+"姓名："+name;
    }

    @RequestMapping("/image")
    public String get(@RequestPart("file") MultipartFile file) throws IOException {
        //获取
        String filename = file.getOriginalFilename();
        file.transferTo(new File("E:/temp/"+filename));
        return "接收到文件："+filename;
    }
}
